第12 屆iT邦幫忙鐵人賽系列文章 (Day7)
上一篇我們用 ImageMessage 來傳送圖片,這一篇我們要來實作傳送婚禮的前導預告片 (回想起來那時候我怎麼那麼閒XD ),我當時自己是從淘寶買一些婚禮的影片範本,買回來用 Adobe Effect 來改,或者是網路上可能會有一些免費的 template 也是可以拿來應用
Line VideoMessage 一樣要透過URL來發送,我們一樣傳到 Imgur,就能產生一個網址,這是我當時所購買的影片範本 https://i.imgur.com/n8QsXTk.mp4
定義 VideoMessage.cs
public class VideoMessage : IMessage
{
public LineMessageType Type => LineMessageType.video;
public string OriginalContentUrl { get; set; }
public string PreviewImageUrl { get; set; }
}
一樣在 OnMessageAsync 增加一個 前導影片 的實作
實作內容
public class WeddingTrailer : IReplyIntent
{
private readonly LineReplyMessageUtility lineMessageUtility;
private readonly LineProfileUtility lineProfileUtility;
public WeddingTrailer(LineReplyMessageUtility _lineMessageUtility, LineProfileUtility _lineProfileUtility)
{
lineMessageUtility = _lineMessageUtility;
lineProfileUtility = _lineProfileUtility;
}
public async Task ReplyAsync(string replyToken)
{
var imageMessage = new VideoMessage()
{
OriginalContentUrl = "https://i.imgur.com/n8QsXTk.mp4",
PreviewImageUrl = "https://i.imgur.com/oLvTjtu.png"
};
await lineMessageUtility.ReplyMessageAsync(replyToken, new List<IMessage> {
imageMessage
});
}
}
實際上沒有回傳那麼慢,會是很順的,只是手機螢幕錄影時,我忘記我有在 Visual Studio 設中斷點,所以卡住了 QQ
Line 也有提供聲音檔的 Message Type (AudioMessage),因為沒需求這篇就不實作了,但基本上很多程式都是共用的,所以只要:
定義AudioMessage的Class (JSON to C# Class)
增加 Intent 的 key
繼承我們自己定義的 IReplyIntent 介面,並實作 Audio 回覆內容
ImageMessage 在傳送的時候要注意有以下限制
URL 最大 1000 字元
一定要是 HTTPS 且加密規範 TLS 1.2 以上
檔案大小上限 200 MB
如果太寬或太高的影片可能會有裁切掉的風險
如何回覆 Video/Audio Message
https://developers.line.biz/en/reference/messaging-api/#image-message
不會做影片,但知道跟程式一樣可以買範本來改? 雖然 Adobe Effect 也搞了好一陣子….隔行如隔山阿 XD
本篇文章同步發佈於我的 Medium 如果這篇文章對你有幫助,就大力追蹤和拍手鼓掌下去吧 !!